声明

本文是学习GB-T 18473-2016 工业机械电气设备 控制与驱动装置间实时串行通信数据链路. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们

1 范围

本标准规定了工业机械电气设备控制与驱动装置间实时串行通信数据链路(总线)之间的总线接口
及通信协议规范,目的在于实现基于实时串行通信协议的工业机械电气设备间控制装置、传感器、驱动、

I/O 等装置间的命令传输及应答,以支持装置间的互操作。

本标准适用于金属加工机械、纺织机械、印刷机械、缝制机械、塑料和橡胶机械、木工机械等电气设

备用的开放式数控系统。其他工业机械设备用的开放式数控系统亦可参照执行。

2 规范性引用文件

下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文

件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

GB/T 17626.2—2006 电磁兼容 试验和测量技术 静电放电抗扰度试验

GB/T 17626.4—2008 电磁兼容 试验和测量技术 电快速瞬变脉冲群抗扰度试验

GB/T 17626.5—2008 电磁兼容 试验和测量技术 浪涌(冲击)抗扰度试验

GB/T 17626.11—2008 电磁兼容 试验和测量技术
电压暂降、短时中断和电压变化的抗扰度

试验

GB/T 20540.5—2006 测量和控制数字数据通信 工业控制系统用现场总线 类 型
3 :

PROFIBUS 规范 第5部分:应用层服务定义

IEC 61158-2-24:2014 工业系统用现场总线 第2-24部分:物理层服务及协议

IEC 61158-3-24:2014 工业系统用现场总线 第3-24 部分:数据链路层服务

IEC 61158-4-24:2014 工业系统用现场总线 第4-24部分:数据链路层协议

IEC 61158-5-24:2014 工业系统用现场总线 第5-24部分:应用层服务

IEC 61158-6-24:2014 工业系统用现场总线 第6-24 部分:应用层协议

3 术语和定义、缩略语

3.1 术语和定义

下列术语和定义适用于本文件。

3.1.1

实时串行通信协议 serial data protocol for
real-time communication

一种面向工业机械电气设备与驱动装置间实时串行通信的开放式总线通信协议,采用物理层、数据
链路层、应用层三层简化协议结构,物理层基于RS485 或 ISO/IEC
8802.3协议标准。该协议可支持事
件驱动、周期、异步等通信模式,满足工业机械电气设备间控制装置、传感器、驱动、I/O
等装置间实时通

信的命令传输及应答通信操作需求。

GB/T 18473—2016

3.1.2

时隙 time slot

用于周期通信操作,将总线通信时间域等分为均匀的连续时间段,每个时间段为一个通信时隙,在

周期通信过程中,每个时隙内完成一个完整的数据发送、接收交互操作。

3.1.3

异步通信 asynchronous communication

一种实时串行通信通信方式,在该通信方式中命令不需要考虑周期通信时间约束即可进行数据通

信操作。

注:在该通信状态下,不能进行周期通信操作。

3.1.4

周期通信 cyclic communication

一种实时串行通信通信方式,在周期通信的每个时隙内,主站与从站完成一次完整的数据发送与接

收交互操作。

3.1.5

事件驱动通信 event driven communication

一种实时串行通信通信方式,在该通信方式中,主站与从站之间采用命令、响应、交互的方式进行数

据发送与接收交互操作。该通信方式不依赖规定的通信时隙约束。

3.1.6

监控从站 monitor slave

实时串行通信协议中,拥有监视所有通过网络传输进程数据功能的从站。

3.1.7

C1 消息 C1 message

实时串行通信协议中,用于异步通信的一种协议格式,规定 C1
主站作为发起方与从站或者 C2 主

站来交换消息。

3.1.8

C2 消息 C2 message

实时串行通信协议中,用于异步通信的一种协议格式,用于与 C2
主站和从站进行信息交互的一种

协议格式。

3.1.9

响应器 responder

实时串行通信协议中,应用层响应进程数据和消息的执行单元。

3.1.10

发送带应答的数据 send data with acknowledge

实时串行通信协议规定的应用层传输服务,在该传输服务过程中,需要接收应答数据。

3.1.11

发送不带应答的数据 send data with no-acknowledge

实时串行通信协议规定的应用层传输服务,在该传输服务过程中,不需要接收应答数据。

3.1.12

设备 ID device ID

实时串行通信协议规定的用于识别主站或从站设备信息的数据结构。

3.1.13

错误 error

实时串行通信协议通信过程中的异常情况或者通信故障。

GB/T 18473—2016

3.1.14

网络时钟 network clock

运行在同一个实时串行通信总线的主站及从站设备上的高精度计数器,用于周期通信同步计时操

作的参考时钟源。

3.1.15

警告 warning

实时串行通信协议通信过程中对检测到的通信异常情况的一种响应操作,需向系统或及用户提供
异常通信状态,但依然维持当前的通信状态及操作。

3.2 缩略语

下列缩略语适用于本文件。

ACK

acknowledge

应答

AL

application layer

应用层

AP

application process

应用进程

APDU

application process date unit

应用进程数据单元

C1MSG

C1 message

C1 消息

C2MSG

C2 message

C2 消息

DA

destination address

目的地址

DCE

data circuit-terminating equipment

数据通信设备

DL

data layer

数据链路层

DLE

data layer element

数据链路层实体

DLM

data layer management

数据链路层管理

DLMS

data layer management service

数据链路层管理服务

DLPDU

data layer protocol data unit

数据链路协议数据单元
DLS

data layer service

数据链路层服务

DLSAP

data layer service access point

数据链路访问服务点

DLSDU

data layer service data unit

数据链路服务数据单元
DTE

data terminal equipment

数据终端设备

FAL

field bus application layer

现场总线应用层

FCS

frame check sequence

帧检测序列

MSG

message

消息

PDU

Protocol data unit

协议数据单元

PhL

physical layer

物理层

SAP

service access point

服务接入点

SDA

send data with acknowledgement

发送带应答数据

SDN

send data without acknowledgement

发送不带应答数据

SDU

service data unit

[数据服务](https://siduwenku.com/search?f=new&wd=%E6%95%B0%E6%8D%AE%E6%9C%8D%E5%8A%A1)单元

SRD

send and receive data

发送接收数据

4 基本要求

4.1 概述

本标准所规定的实时串行通信协议采用应用层、数据链路层、物理层的三层简化协议模型,支持控

GB/T 18473—2016

制装置、传感器、驱动、I/O
等装置间命令及应答数据交互通信操作,其互联模型如图1所示。

style="width:8.23333in;height:3.33403in" />style="width:0.1866in;height:0.19998in" />style="width:0.19336in;height:0.19998in" />

1 串行通信协议总线模型

应用层:维护站点间的安全、可靠的数据传输通路,并为运动控制、任务等用户程序提供控制命令与

应答接口。

数据链路层:为应用层提供周期、实时、无差错的数据链路。

物理层:为数据链路层提供基于 RS485 或 ISO/IEC 8802.3
规范的物理连接通道,实现对总线中传

输的电平信号的编码、解码及传输。

串行通信协议协议模型如图2所示。

应用层 服务

连接

同步

异步

管理

协议

数据链路层

服务

协议

物理层

RS485或ISO/IEC8802.3物理层

2 串行通信协议协议模型

4.2 通信模型

4.2.1 周期通信模型

本标准所规定的实时串行通信协议的周期通信时序如图3所示。

a) 在周期传输中主站首先向各从站发送同步帧。

b)
在完成同步帧发送之后,主站与从站依次进行一次命令和应答数据交换。主站与从站之间的
数据传输间隔由主站控制。

c)
主站与每个从站的命令和应答数据交换结束以后,主站针对通信异常的从站执行重传操作,当
本通信周期内没有从站发生通信异常时,主站不执行重传。

d) 如果总线通信时序中设定为传输 C1、C2
消息,主站在完成重传通信之后,将计算本通信周期
的剩余时间,如果本通信周期内剩余时间允许,将启动C1、C2消息传输,否则C1、C2
消息将延 迟至下一个通信周期发送。

注:图3所示总线通信周期模型以 MECHATROLINK
实时串行通信协议总线通信模型为例。

GB/T 18473—2016

style="width:8.54722in;height:4.70694in" />

3 周期通信模型

4.2.2 事件驱动通信模型

在事件驱动通信模式下,C1
主站在任意的时间向从站发出事件消息命令,从站在接收到主站的事

件消息后,需在50 ms 内向C1 主站回复应答数据(如图4所示)。

注 : 图 4 所 示 总 线 通 信 周 期 模 型 以 MECHATROLINK
实时串行通信协议总线通信模型为例。

style="width:8.42014in;height:4.00694in" />style="width:8.42014in;height:4.00694in" />

4 事件驱动通信模型

4.2.3 异步通信模型

异步通信用于不需要实时通信或周期数据交换的情况。在异步通信过程中,数据帧长度固定为
64字节,因为异步通信不使用同步帧,从站对由主站发送的输出数据的处理和向主站发送输入数据以

从站自己的时序为准(如图5所示)。

注 : 图 5 所 示 总 线 通 信 周 期 模 型 以 MECHATROLINK
实时串行通信协议总线通信模型为例。

GB/T 18473—2016

style="width:9.09339in;height:3.06658in" />主站 CMD #1

从站

通信阶段

RSP

1

CMD

#2

CMD n 1

RSP

#2

命令/响应通信

RSP

n- 1

CMD

#n

RSP

MSG

in

ACK or

MAGn

C1 信息

通信

CMDHn: 命令(输出)数据到n号从站

RSP'n:南n号从站响应(输入)数据

MSG:C1 信息通信

5 异步通信模型

5 物理层

5.1 概述

本标准所规定的实时串行通信协议物理层模型如图6所示,可采用 RS485
物理层协议或 ISO/IEC 8802.3
物理层协议,为链路层提供物理连接通道,满足主站与从站之间 RS485 或
ISO/IEC 8802.3

信号的编码、解码及传输。

style="width:8.51389in;height:6.57361in" />style="width:0.24902in;height:0.46021in" />style="width:0.25405in;height:0.46021in" />

图6 物理层模型

本标准所规定的实时串行通信协议物理层划分为一个数据末端装置(DTE)
和一个数据通信单元 (DCE)。DTE 单元与数据链路层(DL)
实体相连接,为数据链路层提供读写操作通道。数据通信单元

(DCE)
为各个站之间的电平编码信号的发送和接收提供转换操作。介质独立子层(MDS)
通过 DTE-

DCE 规定的接口,通过 MDS-MAU
接口来实现物理层电平信号的编码通信,介质独立子层(MDS) 功能

包括:发送、接收、逻辑编码、解码、增加/删除报头等功能。

GB/T 18473—2016

5.2 总线拓扑

总线拓扑方式支持线形、星形或点对点连接结构。

5.3 电气接口协议

应符合 RS485 电气接口协议规范或ISO/IEC8802.3 物理层协议规范。

5.4 电气接口信号

5.4.1 发送信号

该信号用于控制 MDS 传送物理层数据到 MAU,
在总线通信过程中,该指示信号设定为1(高电

平),物理层数据被传送到物理介质上。

5.4.2 接收信号

该信号用于指示从 MAU 传送物理层数据到 MDS。
该接收指示信号指示为1(高电平),则表示接

收到有效通信数据信号。

5.5 信号及机械接口

应采用符合国际或国家标准的接插单元,附录A
给出了信号及机械接口示例。连接器的进一步要

求可参考 IEC61158-2-24:2014 物理层及连接器要求。

5.6 电磁兼容

总线通信电缆电磁兼容应符合 GB/T 17626.2—2006、GB/T 17626.4—2008、GB/T
17626.5—

2008、GB/T 17626.11—2008 的要求。

5.7 数据链路层模型

数据链路层实现应用层与物理层之间数据交互,完成应用层到物理层传输的数据帧之间的转换及
对各个站点的寻址和地址管理,实现点到点的可靠数据传输。本标准所规定的实时串行通信协议数据
链路层由3个子层组成,包括:周期通信控制(CTC), 发送接收控制(SRC)
和数据链路管理(DLM) 子

层,如图7所示。

周期通信控制子层(CTC): 包括周期传输协议机及非周期传输协议机,用于实现
C1 主站、C2 主站

及从站之间的周期传输通信及非周期传输通信管理。

发送接收控制子层(SRC): 通过串并转换器,将 CTC
子层待发送数据转换成物理层可识别的串行

数据串,此外将物理层接收到的串行数据串转换成CTC
子层可使用的数据链路层数据帧结构。

数据链路管理子层(DLM): 用于维护及管理数据链路层通信状态。

GB/T 18473—2016

style="width:8.34028in;height:6.02708in" />

7 数据链路层模型

5.8 数据链路层服务

5.8.1 概述

数据链路层服务向应用层提供标准的服务访问接口,包括写数据服务、读数据服务、发送带应答的
数据服务(SDA)、 发送非应答数据(SDN)、
周期时间服务、获取状态服务,数据链路层服务原语和参数

表如表1所示。

1 数据链路层服务原语和参数表

服务

原语

参数

功能

写数据

DL-WRITE-DATA.req

SAP ID,DLSDU

请求写发送数据

DL-WRITE-DATA.cnf

Result

读数据

DL-READ-DATA.req

SAP ID

请求读接收数据

DL-READ-DATA.cnf

Result,DLSDU

发送带应答服务的数据

DL-SDA.req

SAP ID,Node ID,Length,DLSDU

请求发送数据

DL-SDA.cnf

Result

DL-SDA.ind

SAP ID,Node ID,Length,DLSDU

发送不带应答服务的数据

DL-SDN.req

SAP ID,Node ID,Length,DLSDU

请求异步通信

DL-SDN.cnf

Result

DL-SDN.ind

SAP ID,Node ID,Length,DLSDU

事件

DL-EVENT.ind

Event ID

事件通知

5.8.2 写数据服务

此服务用于在周期通信过程中传输数据链路层数据单元(DLSDU)
数据。在周期传输过程中,主站

通过调用该服务将数据链路层数据单元(DLSDU)

注:图8所示总线通信服务原语以 MECHATROLINK

GB/T 18473—2016

发送到从站数据链路层单元(DLE) 中,见图8。

实时串行通信协议总线通信服务模型为例。

style="width:10.66012in;height:7.86016in" />数据链路层-

用户

数据链路层单元

(Cl 主站)

数据链路层单元

(1号从站)

数据链路层-

用户

数据链路层单元

(n号从站)

数据链路层-

DL-WRITE DATA.req

(SAP ID),DLSDU)

DL-WRITE-I)ATA,cnf

(Rcsult)

DL-EVENT.ind

(Event ID)

DL-WRITE-DATA.req

(SAP ID),DL.SDUJ

DL-WRTTE-DATA.cnf

(Result)

— DL-WRITE-DA'TA.reg

(SAP ID,DLSDU)

DL-WRITE-DATA.cnf

(Result)

(DIPDU(1)

(DLPDU#1)

(DLPDUJ #n)

(DLPDUJ#n)

DL-EVENT,ind

(Event ID)

DL-READ-DATA.req

(SAP ID)

DL-READ-DATA.cnf

(Result,DLSDU)\|

DL-WRITE-DATA.req

(SAP ID,DLSDU)\|

DL-WRITE-DATA.cnf

(Result)

DL-EVENT.ind

(Event ID)

DL. READ DATA,rcq

(SAP ID)

DL-READ-DATA.cnf

(Result.DI.SDUJ)

DL-WRITE-DATA.req

(SAP ID.DLSDU)

DI-WRITE-DATA.cnf

(Rcsult)

DL-EVENT.ind

(Event ID)

DL READ) DATA,req

(SAP ID)

DL-READ-DATA.cnf

(Result,DL.SDUJ)

DL-WRITE-DATA.req

(SAP JD,DLSDU)

DL-WRITE-DATA cnf

(Result)

8

5.8.3 读数据服务

该服务被用于在周期通信过程中接收数据链路层数据单元(DLSDU)
数据。在周期传输过程中,从 站通过调用该服务将数据链路层数据单元(DLSDU)
发送到主站数据链路层单元(DLE) 中。主站的数

据 链 路 层 仅 仅 保 留 最 新 数 据 链 路 层 数 据 单 元(DLSDU)
数据,见图9。

注:图9所示总线通信服务原语以 MECHATROLINK
实时串行通信协议总线通信服务模型为例。

GB/T 18473—2016

数据链路层- 用户

数据链路层单元

(C1主站)

数据链路层单元

(1号从站)

数据链路层-

用户

DI.-WRITF-DATA.req (SAP ID,DLSDUJ)

DL-WRITE-DATA.cnf (Result)

DL ZVENT,ind

(Event ID) (1号数据链路协议数据单元)

数据链路层单元

(n号从站)

DI.-WRITE-DATA.req

(SAP D,DLSDU)

DL-WRITE-DATA.cnf

(Resull)

(1号数据链路协议数据单元 )

(n 号数据链略协汉数据单元

(n号数据链路协议数据单元)

DI-EVENT,ind

(Evenl ID)

DL-READ-DATA.rcq

(SAP ID)

DL READ DATA.cnf

(Result,DLSDU)

DL-WRITE-DAIA.req

(SAP ID,DLSDU)

DI-WRITE-DATA.cnf

(Result)

DI-EVENT,ind

(Event ID)

DL-READ-DATA.Icq

(SAP ID)

DL READ DATA.cnf

(Result,DLSDU)

DL-WRITE-DATA.req

(SAP ID,DI.SDU)

DI-WRITE-DATA cnf

(Result)

DI-EVENT,ind

(Event ID)

DL-READ-DATA.rcq

(SAP ID)

DL READ DAIA.enf

(Result,DLSDUJ)

DL-WRITE-DATA.reo

(SAP ID,DLSDU)

DL-WRITE-I)ATA,cnf

(Result)

9 读数据服务原语

5.8.4 发送带应答服务的数据服务

该服务用于在周期通信过程中的消息通信数据交换。该服务允许主站或从站发送数据链路层数据
单元(DLSDU)
数据到指定的主站或从站。如果待发送的数据大于数据链路层数据单元(DLSDU)
允许
的最大数据封装长度,执行发送操作的主站或从站应将待发送的数据进行分割,并封装到连续的数据链
路层数据单元(DLSDU)
中,数据接收方在接收到该连续的数据链路层数据单元(DLSDU) 后,进行重新

组装,恢复成完整的消息通信数据,见图10。

注:图10所示总线通信服务原语以 MECHATROLINK
实时串行通信协议总线通信服务模型为例。

GB/T 18473—2016

style="width:7.27997in;height:6.31334in" />

图10 发送带应答服务的数据服务原语

5.8.5 发送不带应答服务的数据服务

该服务用于在非周期通信过程中的命令、应答数据以及消息数据的通信,见图11。

注:图11所示总线通信服务原语以 MECHATROLINK
实时串行通信协议总线通信服务模型为例。

style="width:7.34722in;height:5.92708in" />

图11 发送不带应答服务的数据服务原语

5.8.6 事件服务

非周期消息数据通信过程中,数据发送方通过该服务来通知数据接收方消息通信的通信状态,见

图 1 2 。

图12所示总线通信服务原语以 MECHATROLINK
实时串行通信协议总线通信服务模型为例。

GB/T 18473—2016

style="width:4.17342in;height:2.3133in" />数据链路层单元

数据链路层-用户

DL-EVENT.ind

(Event ID)

图12 事件服务原语

5.9 数据链路层协议

5.9.1 数据链路层帧结构

本标准所规定的实时串行通信协议数据链路层基本帧结构如图13所示。

报头

SFD

[源地址](https://siduwenku.com/search?f=new&wd=%E6%BA%90%E5%9C%B0%E5%9D%80)

日的地址

消息控制

帧类型

数据长度

信息域

FCS

帧之间间距

55bit 8bit 15bit 15hit 15hit 4bit 12bit n bit 32bit 96bit

图13 实时串行通信协议帧格式

5.9.2 数据链路层帧头结构

5.9.2.1 起始帧分隔符

起始帧分隔符用于指示一个数据帧的开始位置。

起始帧分隔符定义如下:

"10101011"。

5.9.2.2 目的地址

目的地址定义了数据接收方站地址信息,如下表所示。目的地址信息占用16位长度,其中高8位
用于定义数据接收方扩展站地址,低8位用于定义数据接收方站地址。扩展站地址及站地址含义如表

2、表3及表4所示。

2 目的地址和目的地址格式

字节

类型

内容

1

无符号8位

站地址

2

无符号8位

扩展地址

3 站地址

地址

内容

0x00

预留

0x01

C1主站

0x02

C2主站

0x03~0xEF

从站,网关

0xF0~0xFE

预留

0xFF

广播地址

GB/T 18473—2016

表4 扩展地址

扩展地址

内容

0x00-0xFE

节点有多个设备的设备地址,或者网关节点的远程地址

0xFF

广播地址

注:仅同步帧可以使用广播地址。

5.9.2.3 源地址

源地址定义了数据发送方站地址信息,如下表所示。源地址信息占用16位长度,其中高8位用于

定义数据发送方扩展站地址,低8位用于定义发送方站地址。扩展站地址及站地址含义如表5所示。

5 源地址和源地址格式

字节

类型

内容

1

无符号8位

站地址

2

无符号8位

扩展地址

5.9.2.4 消息控制字

消息控制字用于消息通信中使用。该控制字仅当数据帧类型为消息帧时有效。除消息帧以外,该
控制字应为0。表6为发送数据帧中的消息控制字格式定义,表7、表8为数据接收帧中的消息控制字

格式定义。

表6 消息控制字格式(信息传输格式)

8位字节号

大小

符号

内容

1

无符号7位

N(R)

传输接收到的序列号

无符号1位

P/F

查询位-主要传输

终止位-次要传输

2

无符号7位

N(S)

传输发送序列号

无符号1位

保留(0)

7 消息控制字格式(管理消息格式)

8位字节号

大小

符号

内容

1

无符号7位

N(R)

传输接收到的序列号

无符号1位

保留(1)

2

无符号4位

保留(0)

无符号2位

S

监视(2)

无符号1位

保留(0)

无符号1位

保留(1)

GB/T 18473—2016

8 消息控制字格式(管理指示开关)

符号

说明

备注

0

RR

接收准备(RR)命令or RR响应

1

REJ

次(REJ)命令or REJ响应

2

RNR

接收无准备(RNR)响应

3

预留

5.9.2.5 类型和长度字

帧类型和数据长度字格式如表9所示。帧类型用于识别一个帧的内容,也用于识别消息通信协议

的类型。表10给出帧类型定义。

9 帧类型和数据长度字格式

8位字节号

大小

内容

1

无符号12位

数据长度(低8位)

2

数据长度(高4位)

无符号4位

帧类型

表10 帧类型列表

符号

说明

0

预留

1

FT SYNC

同步帧

2

FT IO

输出数据和输入数据帧

3

FT DLST

开始帧延时测量

4

FT DLMS

延时测量帧

5

FT MTKN

消息令牌帧

6

FT STS

状态帧

7

FT CINF

周期信息帧

8~11

预留

12

FT MSG

消息帧

13~15

预留

5.9.3 数据链路层帧类型

5.9.3.1 概述

数据链路层数据帧包含3位的 CRC-CCITT
校验位。该校验位的计算从目的地址开始到数据内容

结束为止,不包括校验位本身。

GB/T 18473—2016

5.9.3.2 同步帧

C1 主站用该帧来同步从站及C2 主站。仅 C1
主站能发送同步帧。在发送同步帧过程中,C1 主站

需设置站地址为广播地址(0xFF)。

当从站和C2
主站接收到该同步帧,通过读取时间戳重新计算同步延时,并使用该同步延时数据更

新本地同步时钟。同步帧数据格式见表11,同步帧字列表见表12。

数据同步示例见附录 B。

表11 同步帧数据格式

字节

数据类型

内容

1~4

无符号32位

时间戳

5~6

无符号16位

周期事件延时

7~8

无符号16位

预留

表12 同步帧字列表

内容

最大和最小值

建议值

备注

时间戳

在帧中C1主站的时间标识 的被发送

0~231

根据设定变量V

(Tunit)定义

周期事件通信延时

从储存在这个帧内当前时 间到当周期事件被指示时

的时间的延时

0~215

0

根据设定变量V

(Tunit)定义

5.9.3.3 用户数据帧

该数据帧用于周期通信过程中主站与从站之间的用户数据交换。 C1
主站通过该数据帧向从站发 送命令数据,从站在接收到由 C1
主站发送的用户数据帧后,需向 C1 主站应答一帧数据帧。 C2 主站作
为监听主站,仅接收该数据帧,不做任何应答操作。用户数据帧格式定义见表13,用户数据帧定义见

表14。

表13 用户数据帧格式

字节

数据类型

内容

1~n

无符号8*n

输出数据和输入数据

(n+1)~(n+m)

无符号8×m

填充

表14 用户数据帧定义

内容

最大和最小值

建议值

备注

输出数据或输入数据

从C1主站到从站的命令数据

从站到C1主站的应答数据

0到最大值能代表指定数据长

度的字节长度

填充数据

填充数据长度应为32位的倍数

0

GB/T 18473—2016

5.9.3.4 延时测量启动帧

该数据帧用于启动 C1 主站延时与目标从站或 C2
主站之间的传输延时。该数据帧由C1 主站发 出,指定的从站或C2
主站接收该数据帧后,将启动延时测量操作。执行延时测量操作的次数由延时测

量帧中测量次数字段指定。延时测量启动帧格式见表15,延时测量启动帧定义见表16。

表15 延时测量启动帧格式

字节

数据类型

内容

1~2

无符号16位

测量次数

3~4

无符号16位

预留

表16 延时测量启动帧定义

内容

最大和最小值

建议值

备注

测量次数

发送延时测量帧次数

31~1

1

5.9.3.5 延时测量帧

C1 主站用该数据帧接收从站或C2 主站反馈的时间戳数据,此外,C1
主站将计算出的传输延时结 果通过该数据帧发送给指定的从站或C2
主站。该数据帧由 C1 主站发起传输,发送该数据帧的次数由
延时测量启动帧测量次数字段定义。从站或者 C2
主站在接收到该数据帧后必须做出应答,否则 C1 主 站认为与该从站或C2
主站通信发生故障。延时测量帧格式见表17,延时测量帧定义见表18。进一步

有关通信周期内时隙分配及计算要求见 IEC61158-3-24:2014 及 IEC
61158-4-24:2014。

表17 延时测量帧格式

字节

数据类型

内容

1~4

无符号32位

时间戳

5~6

无符号16位

传输延时

7~8

无符号16位

预留

表18 延时测量帧定义

内容

最大和最小值

建议值

备注

传输延时

C1发送数据帧到从站或C2

主站的传输时间

215~0

根据设定时间的单位

来定义,缺省值为10 ns

5.9.3.6 消息令牌帧

在消息通信启动时,C1 主站发送该数据帧通知从站或 C2
主站启动消息通信操作。从站或者 C2

主站在接收该数据帧后才可以启动消息通信。该数据帧由 C1 主站发送。

GB/T 18473—2016

5.9.3.7 状态帧

C1 主站用该数据帧查询从站或 C2 主站的状态。从站或C2
主站在接收到该数据帧后,应向主站
发送包含状态应答信息的状态帧。状态帧数据格式见表19,状态帧字表见表20,状态表见表21,中继

器状态表见表22。

注:广播地址或者多路广播地址不能作为该数据帧的目的地址。

表19 状态帧数据格式

字节

数据类型

内容

1~2

无符号16位

状态

3~4

无符号16位

中继器状态

表20 状态帧字表

内容

取值

建议值

备注

状态

当前DLE状态值

见表22

从站和C2主站根据该数据刷新

自己的寄存器

中继器状态

当前中继器状态值

见表23

从站和C2主站根据该数据刷新

自己的寄存器

表21 状态表

状态编码

说 明

0x0000

站不存在

0x0023

站地址复制

0x0024

等待被DLS-user请求的延时测量

0x0025

等待从C1主站的延时测量的起始指示

0x0026

测量周期延迟

0x0027

等待从C1主站的周期信息帧

0x0050

周期通信模式操作

0x0060

非周期通信模式操作

表22 中继器状态表

发送状态

符号

说明

初始值

0

预留

0

1

MII RXTXE

请求发送物理层通信检测

0

2

MII TXRXE

请求检测物理层发送数据

0

3

MII RXRXE

请求检测物理层接收数据

0

4~15

预留

0

GB/T 18473—2016

5.9.3.8 周期信息帧

C1 主站用该数据帧启动周期通信,该数据帧由 C1 主站发出。 C1
主站可以采用广播或站对站方式 向从站或者 C2 主站发送。从站或C2
主站在接收到对应的周期信息帧后应返回一个状态帧。周期信

息帧数据格式见表23,周期信息帧字列表见表24。

表23 周期信息帧数据格式

字节

数据类型

内容

1~2

无符号16位

周期通信

3~4

无符号16位

C2消息延时

5~6

无符号16位

最大延时

7

无符号8位

通信模式

8

无符号8位

时间单位

表24 周期信息帧字列表

内容

最大和最小值

备注

传输周期

周期传输模式的传输周期

64000~3125

数据单位由Time unit指定

C2信息延时

从同步帧中存储的时间到C2消息通信

起始时间的延时

215~0

最大延时

在通过C1主站测量的传输延时的最

大值

215~0

数据单位由Time unit指定

传输模式

在初始化之后传输模式的选择执行

0:Cyclic

1:Acyclic

时间单位

选择时间代码

0:10 ns 1:100 ns

2:1μs

5.9.3.9 消息帧

这个帧用于主站与从站之间的消息信息传输。所有站均可发送该数据帧。消息帧格式见表25,消

息帧定义见表26。

表25 消息帧格式

字节

数据类型

内容

1~n

无符号8*n

消息数据

(n+1)~(n+m)

无符号8*m

填充

GB/T 18473—2016

表26 消息帧定义

内容

最大和最小值

建议值

备注

消息数据

除周期通信命令和应答数据以

外的信息

0到最大值能代表指定数据长度

的字节长度

填充数据

填充数据长度应为32位的倍数

0

6 应用层

6.1 概述

应用层为用户提供传输服务及数据安全支持,并实现用户层与数据链路层之间的数据交互。本标
准依据 IEC 61158-5-24:2014、IEC61158-6-24:2014
给出的应用层服务及协议接口模型,规定了应用层

模型、服务及协议接口要求。

6.2 应用层模型

应用层由传输服务、应用层数据单元、传输状态机组成,应用层结构模型如图14所示。传输服务为
用户提供数据传输、消息传输、事件管理、监视服务及传输管理服务等,状态机管理应用层的运行状态并
控制传输,应用层以应用层数据单元实现与链路层数据交换。附录 C
给出了应用层过程单元的具体

示例。

style="width:8.24722in;height:5.67361in" />

图14 应用层模型

6.3 总线通信状态机

6.3.1 C1 主站通信状态机

C1 主站的总线通信状态机状态转换图15所示。在从站上电后,C1
主站执行设备检测和延时测量

GB/T 18473—2016

等操作,之后C1 主站开始与正常完成初始化的从站通信,当开始通信时,C1
主站选择周期通信或者事

件驱动通信。总线通信状态机模型见图15。

注: 图15所示总线通信状态机模型以 MECHATROLINK
实时串行通信协议总线通信状态机为例。

style="width:9.70694in;height:7.77361in" />

图15 C1 主站通信状态机

6.3.2 C2 主站通信状态机

C2 主站的总线通信状态机状态转换图如图16所示。在上电后,C2 主站接收从 C1
主站发送的延 时检测等检测命令数据,并进行响应。在完成初始化后,C2
主站处于C1 主站的命令等待状态。总线通

信状态机模型见图16。

注:图16所示总线通信状态机模型以 MECHATROLINK
实时串行通信协议总线通信状态机为例。

GB/T 18473—2016

style="width:9.42014in;height:7.38056in" />style="width:9.42014in;height:7.38056in" />

图16 C2 主站通信状态机

6.3.3 从站通信状态机

本标准所规定的实时串行通信协议从站总线通信状态机如图17所示。在完成初始化后,从站开始

执行初始化操作,在连接命令中由同步设定命令执行转入同步通信动作。

style="width:10.63337in;height:7.11326in" />P0/上电

P1/初始化

连接(通信)

连接

(同步通信)

从站掉电

P2/异步通信状态

从站通信停止进程

同步设定 通信错误

P3/同步通信状态

断开

断开

P2/ 异步状态

仅异步命令能被使用

P3/同步状态

异步和同步命令能被使用

P4/停止通信

主站抑电

P5/下电

P0;Phase

P1:Phase

P2:Phasc

P3:Phasc

P4:Phasc

P5:Phase

0

1

2

3

4

5

图17 从站通信状态机

GB/T 18473—2016

6.4 应用层数据单元

应用层数据单元包括命令数据结构与应答数据结构,其中命令格式由命令号及命令参数两部分组

成,具体数据结构见图18。

2字节

2~N字节(可变长)

命令号

bit15~bit12(高4位)

bit11~bit0(低12位)

命令分组号

组内命令号

图18 命令数据结构

应答数据格式由命令号、告警/故障号、应答状态及应答数据组成,其中命令号表示针对某一命令的

应答,告警/故障号为命令执行所产生的告警,应答状态为命令的返回状态,具体数据结构见图19。

字节0~1

字节2

字节3~4

字节5~N(可变长)

命令号

告警/故障号

应答状态/R Status

应答数据

图19 应答数据结构

告警号与具体装置相关,由用户定义。

应答状态的数据结构见图20。

bit7~bit3

bit2

bitl

bit0

与装置类型相关

就绪位

告警位

故障位

bit15~bit8

与装置类型相关

图20 应答状态数据结构

bit0:故障位,1:发生故障,0:未发生故障;

bit1:告警位,1:发生告警,0:未发生告警;

bit2:就绪位,1:可接受命令,0:不能接受命令。

6.5 应用层服务

6.5.1 应用层管理服务

6.5.1.1 FSM-Reset

服务名称:FSM-Reset

服务功能描述:此服务用于复位通信状态机状态,通过该服务复位主站或从站应用层状态机的所有

通信状态。

6.5.1.2 FSM-GetStatus

服务名称:FSM-GetStatus

服务功能描述:此服务用于获取系统错误等状态。

服务参数:INFO-ID、Service status、INFO-ID、INFO-DATA、Service
status。

GB/T 18473—2016

6.5.1.3 FSM-SetContext

服务名称:FSM-SetContext

服务功能描述:此服务用于设定现场总线系统的通信参数及属性。通信参数等信息包含在
CON- TEXT-DATA
中,并且通过该服务被传递到所有应用层所有相关的数据控制寄存器中。数据链路层、

物理层依靠该服务提供的参数信息初始化总线通信。

服务参数:CONTEXT-DATA、Service status、CONTEXT-DATA、Service status。

6.5.1.4 FSM-GetContext

服务名称:FSM-GetContext

服务功能描述:此服务用于得到现场总线系统的通信参数及属性。通信参数等信息由

CONTEXT-DATA 返回。

服务参数:CONTEXT-DATA、Service status、Service status。

6.5.1.5 FSM-Start

服务名称:FSM-Start

服务功能描述:此服务用于激活指定的主站或从站的通信服务状态机。该服务被调用执行后,将同

时启动与通信服务状态机相关的数据链路层服务及物理层电路功能单元。

6.5.2 应用层传输管理服务

6.5.2.1 FDC-Reset

服务名称:FDC-Reset

服务功能描述:FDC-Reset 服务用于复位总线通信状态。

6.5.2.2 FDC-Open

服务名称:FDC-Open

服务功能描述:FDC-Open
服务用于初始化指定的总线通信状态,但不启动该通信状态。

服务参数:AREPID、Service status、Service status。

6.5.2.3 FDC-Enable

服务名称:FDC-Enable

服务功能描述:FDC-Enable 服务用于激活指定的总线通信状态。

服务参数:TransmissionMode。

6.5.2.4 FDC-Connect

服务名称:FDC-Connect

服务功能描述:FDC-Connect 服务用于激活周期通信服务。

服务参数: Update、CONNECT-CMD-SDU、Service status、Communication
status、Progress

status 、RSP-SDU 、Service status。

6.5.2.5 FDC-SyneSet

服务名称:FDC-SyncSet

GB/T 18473—2016

服务功能描述:FDC-SyncSet
服务用于将总线的异步通信状态转换到同步通信状态。

服务参数: Update、SYNC SET-CMD-SDU、Service status 、Communication
status、Progress

status 、RSP-SDU 、Service status。

6.5.2.6 FDC-Disconnect

服务名称:FDC-Disconnect

服务功能描述:FDC-Disconnect 服务被用于停止当前的同步通信连接。

服务参数:Update、DISCONNECT-CMD-SDU。

6.5.2.7 FDC-ResumeCycle

服务名称:FDC-ResumeCycle

服务功能描述:FDC-ResumeCycle
服务用于更新总线连接设备的通信属性,并在更新通信属性后

执行FDC-Disconnect 及 FDC-connect 服务。

6.5.2.8 FDC-ComCycle

服务名称:FDC-ComCycle

服务功能描述:FDC-ComCycle
服务用于在周期通信时,执行主站与从站之间的事件通信操作。

服务参数:NetworkClock。

6.5.2.9 FDC-Command

服务名称:FDC-Command

服务功能描述:FDC-Command
服务执行后,将完成主站向从站发送命令数据,并接收由从站发送

的应答数据。

服务参数:Update、CMD-SDU、Service status、Communication
status、Progress status、RSP-SDU、

Service status。

6.5.2.10 FDC-DataExchange

服务名称:FDC-DataExchange

服务功能描述:FDC-DataExchange
服务完成从站与主站之间命令数据接收及响应数据的发送。

服务参数:RSP-SDU、CMD-SDU。

6.5.3 监视服务

6.5.3.1 FDC-Reset

服务名称:FDC-Reset

服务功能描述:FDC-Reset 服务用于复位监视从站的通信状态。

6.5.3.2 FDC-Open

服务名称:FDC-Open

服务功能描述:DC-Open 服务用于初始化监视从站的通信状态。

服务参数:AREPIDList、Service status、Service status。

6.5.3.3 FDC-Enable

服务名称:FDC-Enable

GB/T 18473—2016

服务功能描述:FDC-Enable 服务用于激活监视从站的当前通信状态。

服务参数:TransmissionMode。

6.5.3.4 FDC-GetCMD

服务名称:FDC-GetCMD

服务功能描述:FDC-GetCMD
服务用于获取接收到的指定被监视从站的命令数据信息。

服务参数:APID、Service status、Communication mode、CMD-SDU、Service
status。

6.5.3.5 FDC-GetRSP

服务名称:FDC-GetRSP

服务功能描述:FDC-GetRSP
服务用于获取接收到的指定被监视从站的应答数据信息。

服务参数:APID、Service status、Communication mode、RSP-SDU、Service
status。

6.5.4 消息传输服务

6.5.4.1 MSG-Reset

服务名称:MSG-Reset

服务功能描述:MSG-Reset 服务用于复位消息通信服务状态。

6.5.4.2 MSG-Open

服务名称:MSG-Open

服务功能描述:MSG-Open
服务用于启动消息传输服务状态,但不启动消息服务通信操作。

服务参数:AREPID、Service status、Service status。

6.5.4.3 MSG-Enable

服务名称:MSG-Enable

服务功能描述:MSG-Enable 服务用于启动消息传输服务。

6.5.4.4 MSG-UserMessage

服务名称:MSG-UserMessage

服务功能描述:此参数用于在消息传输服务状态下,发送和接收消息通信数据,该服务执行后,如果

没有接收到应答消息,将认为该次消息通信服务发生错误。

服务参数:TID、SPID、DPID、Length、MSGReq-SDU、Service
status、TID、SPID、Length、MSGReq-

SDU 、Service status 、TID 、SPID。

6.5.4.5 MSG-OnewayMessage

服务名称:MSG-OnewayMessage

服务功能描述:此服务用于在消息传输服务状态下,发送消息通信数据数据到指定从站,接收该消

息的从站不需要发送响应信息。

服务参数:TID、SPID、DPID、Length、MSGReq-SDU、Service
status、TID、SPID、Service status、

TID 、SPID。

6.5.4.6 MSG-AbortTransaction

服务名称:MSG-AbortTransaction

GB/T 18473—2016

服务功能描述:此服务用于取消当前的消息传输服务操作。

服务参数:TID。

6.5.5 初始化管理服务

6.5.5.1 EVM-Reset

服务名称:EVM-Reset

服务功能描述:EVM-Reset
服务用于在总线初始化过程中,复位和保持目前的总线通信状态。

6.5.5.2 EVM-Enable

服务名称:EVM-Enable

服务功能描述:EVM-Enable
服务用于在总线初始化过程中,激活总线通信状态,该状态用于总线

初始化过程中,主站对从站通信参数的配置传输。

6.5.5.3 EVM-SyncEvent

服务名称:EVM-SyncEvent

服务功能描述:此服务用于在总线初始化过程中,启动同步时钟配置服务。

服务参数:NetClock。

6.5.5.4 EVM-ReadNetClock

服务名称:EVM-ReadNetClock

服务功能描述:此服务用于在总线初始化过程中,读取从站的同步时钟信息。

服务参数:Service status、NetClock、Service status。

6.5.5.5 EVM-WriteNetClock

服务名称:EVM-ReadNetClock

服务功能描述:此服务用于在总线初始化过程中,配置从站的同步时钟参数。

服务参数:Service status、NetClock、Service status。

6.5.6 数据传输服务

6.5.6.1 AR-Reset

服务名称:AR-Reset

服务功能描述:AR-Reset 服务用于复位周期通信状态。

6.5.6.2 AR-Open

服务名称:AR-Open

服务功能描述:AR-Open
服务被用启动并进入周期通信状态,但并不执行周期通信操作。

服务参数:DLSAPID、FDCSAPID、Service status、Service status。

6.5.6.3 AR-Enable

服务名称:AR-Enable

服务功能描述:AR-Enable 服务用于激活周期通信状态,并执行周期通信操作。

服务参数:TransmissionMode。

GB/T 18473—2016

6.5.6.4 AR-CycleEvent

服务名称:AR-CycleEvent

服务功能描述:此服务用于在在周期通信状态下,向从站发送同步指令,该服务将调用数据链路层

的同步处理操作,实现在每个周期发送同步启动数据帧。

服务参数:NetworkClock。

6.5.6.5 AR-StartComCycle

服务名称:AR-StartComCycle

服务功能描述:此服务用于在周期通信状态下,启动周期通信操作,该操作执行后将能够进行周期

通信下的命令数据发送及应答数据的接收。

服务参数:ComTime、DTMode、CMDForm。

6.5.6.6 AR-StartComCycle

服务名称:AR-ResetCycle

服务功能描述:此服务用于在周期通信状态下,停止并重新启动目前的周期通信操作。

6.5.6.7 AR-SendCommand

服务名称:AR-SendCommand

服务功能描述:此参数用于在周期通信状态下,发送控制命令数据。

服务参数:CMD-SDU、Service status、RSP-SDU、Service status。

6.5.6.8 AR-GetCMD

服务名称:AR-GetCMDt

服务功能描述:AR-GetCMD
服务用于在周期通信状态下,获取指定从站当前执行的命令数据。

服务参数:APID、Service Status、CMD-SDU、Service Status。

6.5.6.9 AR-GetRSP

服务名称:AR-GetRSP

服务功能描述:AR-GetCMD
服务用于在周期通信状态下,从站返回指定的应答数据。

服务参数:APID、Service Status、RSP-SDU、Service Status。

6.5.6.10 AR-SendMessage

服务名称:AR-SendMessage

服务功能描述:此服务用于在周期通信状态下,发送一个消息通信数据。

服务参数:NetworkClock。

6.5.6.11 AR-ReceiveMessage

服务名称:AR-ReceiveMessage

服务功能描述:此服务用于在周期通信状态下,接收消息通信数据。

服务参数:SPID、MaxLength、Service
status、SPID、Length、MSGService-SDU、Service status。

6.5.6.12 AR-AbortMessage

服务名称:AR-AbortMessage

GB/T 18473—2016

服务功能描述:此服务用于终止当前周期通信的数据传输操作。

7 总线安全

7.1 概述

本标准所规定的实时串行通信协议支持基于安全通信层的总线安全通信协议扩展,其安全总线模
型如图21所示。在该模型中现场总线能够同时接入标准的 NC、
伺服驱动、主轴驱动、变频器、PLC、I/ O
单元等设备,也可以同时接入基于安全通信层协议扩展的安全伺服、安全主轴驱动、安全
PLC、 安全 I/O
等设备。在本标准所规定的实时串行通信协议安全总线中,标准从站设备之间或安全从站设备之
间能够支持标准的本标准所规定的实时串行通信协议协议的互联,但是无法实现安全通信操作。安全

从站设备之间能够实现基于安全通信层的总线安全通信控制。

注:图21所示安全总线模型以 MECHATROLINK 实时串行安全通信协议模型为例。

style="width:10.55329in;height:2.54012in" />控制器NC

申行通信总线

安全串行通信总线

伺服驱劝器

变频器

步进屯机系

动 器

PLC

J/(

安全句服

安全变航器

安全少进电

机驱动器

安全PLC

安全J/o

伺服电机感应电机步进电机

开关、非电器、电

磁阀、转感器等

伺服电机感应电机步进电机

万关、继中落、中

磁阀、体密等等

图21 安全总线模型

7.2 安全通信协议模型

本标准所规定的实时串行通信协议安全通信协议模型如图22所示,总线安全通信协议拓扑结构见
图23所示。在该安全通信协议模型中,包含 A 和 B
两个处理通道。这两个通道互为补充,实现对接收
到的命令进行交叉校验,以实现总线安全。具体操作包括:当从站接收到一个安全协议消息时,通道
A
从本标准所规定的实时串行通信协议应用层传递接收到的消息到自己通道的安全通信层,并且同时传
递该消息到通道 B。
安全协议进程在每个通道分别进行处理,并且处理结果在两个通道都被验证相匹
配时,每个通道的本标准所规定的实时串行通信协议安全通信层将传递一个安全数据到对应通道的安

全应用层。

GB/T 18473—2016

style="width:8.74002in;height:7.48in" />安全应用

安全

通讯层

串行通信协议应用层

串行通信协议链路层

串行通信协议物理层

通道A 通 道 B

图22 安全通信协议结构模型

style="width:10.03333in;height:5.22083in" />style="width:0.33339in;height:0.33352in" />style="width:0.39994in;height:0.34012in" />style="width:10.03333in;height:5.22083in" />

图23 总线安全通信协议拓扑结构图

7.3 总线错误及报警

7.3.1 概述

当总线通信中检测到总线发生错误后,将停止目前执行的命令,并不允许总线上主站及任意的从站
执行通信状态改变等操作。只有当消除错误并重新执行总线状态初始化之后,总线才能够恢复正常通

信状态。

GB/T 18473—2016

本标准所规定的实时串行通信协议总线支持的可识别的总线错误包括如下:

a) 通信错误;

b) 看门狗计数器错误;

c) 周期同步异常;

d) 响应超时;

e) 非法同步命令。

7.3.2 通信错误

当发生响应超时错误或 FCS
校验连续错误次数超过阈值后,将触发该报警。如果发生该错误报警
时总线当前在同步通信状态,将进入异步通信状态;如果发生该错误报警时总线当前在异步通信状态,

将放弃当前执行的命令。

7.3.3 看门狗计数器错误

在周期通信过程中,如果主站与从站的看门狗计数器未按照约定的顺序更新,或者更新的看门狗计
数值错误,则触发该错误报警。当从站连续检测到两次看门狗计数器错误,它将进入异步通信状态,之

后不再接收执行同步命令。

7.3.4 周期同步异常

在周期通信过程中,通过测量传输周期时间检测到与主站或从站配置的传输周期时间差别超过阈

值时,触发该报警。该报警发生后,总线将进入异步通信状态。

7.3.5 响应超时

总线在周期通信或需要应答的消息通信过程中,主站在向指定从站发送命令数据帧后,未在预定义
的通信响应阈值时间内接收到该从站的应答数据帧。主站将在向系统发送的数据响应
APDU 中标记

相应的响应超时报警信息位。

7.3.6 非法同步命令

在非周期通信过程中,从站接收到同步命令数据帧所引发的通信错误。发生该错误的从站将不执

行该同步命令,并向用户发送该错误报警信息。

style="width:3.08672in;height:3.1999in" />class="anchor">GB/T 18473—2016

A

(资料性附录)

物理层连接器

A.1

本附录给出了本标准所规定的实时串行通信协议物理层连接器机械结构及一般要求。

注:以 MECHATROLINK 实时串行通信协议为例。

A.1.1 设备连接器(RS485 )

采用 RS485
物理层的本标准所规定的实时串行通信协议的物理层设备连接器如图 A.1 及图
A.2

所示。连接器的进一步要求可参考 IEC61158-2-24:2014 物理层及连接器要求。

单位为毫米

style="width:4.59334in;height:6.46668in" />

A.1 设备连接器 A(RS485 物理层)

GB/T 18473—2016

style="width:2.73335in;height:3.37986in" />

style="width:2.88675in;height:2.26666in" />

style="width:3.05998in;height:3.31342in" />

单位为毫米

A.2 设备连接器 B(RS485 物理层)

A.1.2 电线连接器(RS485 物理层)

采 用 RS485 物理层的本标准所规定的实时串行通信协议电缆连接器如图 A.3
所 示 。

单位为毫米

style="width:6.13332in;height:1.37984in" />

style="width:7.26015in;height:2.99332in" />

A.3 电缆连接器(RS485 物理层)

A.1.3 设备连接器(ISO/IEC 8802.3 物理层)

采 用 ISO/IEC 8802.3
物理层的本标准所规定的实时串行通信协议总线连接器如图 A.4 所示。

GB/T 18473—2016

单位为毫米

style="width:7.95336in;height:6.51332in" />

A.4 设备连接器(ISO/IEC 8802.3 物理层)

A.1.4 电线连接器(ISO/IEC 8802.3 )

采 用 ISO/IEC8802.3
物理层的本标准所规定的实时串行通信协议线缆连接器如图 A.5 所 示 。

单位为毫米

style="width:8.97996in;height:3.78004in" />

A.5 电缆连接器(ISO/IEC 8802.3
)

GB/T 18473—2016

B

(资料性附录)

数据链路层

B.1

B.1.1 Bit

最小的内存存储单位,取值包括"0”和“1"两种。

注:本标准中以"b"为位元单位的缩写,即1b表示1个位元(1Bit)。

B.1.2 字节 Byte

每8个bit构成1字节 Byte。

注:本标准中以“B”为字节单位的缩写,即1B 表示1个字节(1Byte)。

B.1.3 Oct

每8个bit构成1个八位位组。

注:本标准中以"1 oct"或者"1 oct"表示1个八位位组。

B.1.4 Boolean

规定布尔变量取值为0、以及非0,存储空间可以是任意长度,其中“0”表示假逻辑,非零数据表示真

逻辑。

B.1.5 整数 Integer

带有符号的整型数。可以使用8 Bits、16 Bits、32 Bits、64 Bits
等多种方式进行存储。其中最高位

为符号位。

整数取值范围:

8 Bits -128~127

16 Bits -32768~32767

32 Bits -231~231-1

64 Bits -263~263-1 整数编码方式如图 B.1 所 示 。

style="width:1.23994in;height:0.6534in" />class="anchor">GB/T 18473—2016

Integer8

MSB LSB

7 6 0

S val

Integer16

MSB

1514

8 7

LSB

0

$

val

octetl octet0

MSB

Integer 32

LSB

style="width:4.83333in;height:1.11389in" />

Integer64

MSB

style="width:9.63321in;height:1.26016in" />

B.1 整数编码方式

本标准中,以8 Bits、16 Bits、32 Bits、64 Bits存储的有符号整型数以 Int
xx表示。

B.1.6 无符号整数 Unsigned integer

不带有符号的整型数。可以使用8 Bits、16 Bits、32 Bits、64 Bits
等多种方式进行存储。

无符号整数取值范围:

8 Bits 0~255

16 Bits 0~65535

32 Bits 0~232-1

64 Bits 0~2⁶4-1

无符号整数编码方式如图 B.2 所示。

GB/T 18473—2016

Unsigned 8

MSB LSB

| |
|-----|
| |

Unsigned 16

style="width:2.53322in;height:1.19328in" />MSB

Unsigned32

style="width:4.72in;height:1.26654in" />MSB

Unsigned 64

style="width:9.13125in;height:1.22153in" />

图 B.2 无符号整数编码方式

本标准中,以8 Bits 、16 Bits 、32 Bits 、64 Bits 存储的无符号整型数以
Unsigned xx 表示:

8 Bits 整型数 Unsigned8

16 Bits 整型数 Unsigned16

32 Bits 整型数 Unsigned32

64 Bits 整型数 Unsigned64

B. 1.7 浮 点 数 Float

浮点数定义及编码方式参见GB/T16262. 1—2006。

Float32 类型的数据编码方式如图 B.3 所 示 ,Float32

float32=(- 1)'×c32×2's2

C3₂=(1×2²³+Fractions₂)×2-23

style="width:2.90658in;height:0.61336in" />

932=Exp₃2— 127

本标准中,以 float 或 者 Float 表示浮点数。

类型的浮点数据应通过使用下面公式来计算:

style="width:6.03333in;height:1.88056in" />

图 B.3 浮 点 数(Float32) 编码方式

Float64 类型的数据编码方式如图 B.4 所 示 ,Float64
类型的浮点数据应通过使用下面公式来计算:

float64=(- 1)⁵×c64×2'

class="anchor">c64=(1×2⁵2+Fractions₄)×2-52

style="width:2.87999in;height:0.61996in" />

q₆4=Exp₆- 1023

Float64

MSB

63 62 52 51

GB/T 18473—2016

L.SB

0

S

ExP

Fractions₄

lbit 11bits 52bits

图 B.4 浮点数(Float64) 编码方式

B. 1.8 位串类型 bit string

位串类型数据结构如图 B.5
所示。位串类型数据在总线传输过程中,规定由最低位至最高位的方

式串行传输。

style="width:3.46007in;height:2.0867in" />

BitField1 type

style="width:9.08056in;height:1.85347in" />

图 B.5 位串编码方式

B. 1.9 序列串类型 sequence string

序列串类型数据结构如图 B.6
所示。位串类型数据在总线传输过程中,规定由最低位至最高位的

方式串行传输。

style="width:2.42671in" />style="width:9.95338in" />style="width:2.41334in" />GB/T 18473—2016

BitField2::= SEQUENCE{

cfl BIT STRINGi size(1), ctf2 BIT STRING size(2), cf3 BIT STRING size(1), cf4 BIT STRING size(4), cf5 BIT STRING sizc(1), cf6 BIT STRING size(③)

BitField2 type

MSB

bit# 15

12 11

9 8 7

4 3 2

1

LSB

0

cf6

cl5

c[4

cf3

cf2

cf1

oclell

B.6

oclel0

B.1.10 八位位组串类型 octet string

八位位组串数据结构如图B.7所示。在总线传输过程中,规定由最低位至最高位的方式串行传输。

style="width:5.70694in;height:5.41389in" />

ficld1

ficld2

Field3

(octet0)

Field 3

(octet1)

Ficld 4

(octet0)

Field4

(octet1)

Field 5

(octet0)

Field5

(octet1)

Field5

(octet 2)

Field5

(octet3)

Field6

(octet0)

Field6

(octct1)

Field 7

(octet0)

Field7 (octet1)

Field7

(octet2)

Field7

(octet3)

B.7 八位位组串编码方式

B.2 通信周期内时隙分配及计算

周期通信时,每个通信周期(如图 B.8)
内可以分为同步数据帧发送时隙、周期数据通信时隙、重传

GB/T 18473—2016

时隙、消息通信时隙等几个部分。其中重传时隙、消息通信时隙根据总线通信的具体配置执行。进一步

有关通信周期内时隙分配及计算要求可参考 IEC61158-3-24:2014 及 IEC
61158-4-24:2014。

注:以 MECHATROLINK 实时串行通信协议为例。

style="width:9.22666in;height:6.46668in" />

SYN

同步数据帧

到从站n的命令数据

# 来白从站n的响应数据

:通信中断

图 B.8 通信周期内时隙分配示意图

传输周期 Tcycle 计算如下公式所示:

Tele=Tsm+T 。+Tretry+Tcimg+Tc₂msg

规定:

Tsymc: 同步数据帧发送时隙

T 。: 周期数据通信时隙

T retey: 重传时隙

Tcimsg: C1 消息通信时隙

Tc₂msg: C2 消息通信时隙

上面提到的带宽的计算方法如下所示。

a) 同步数据帧发送时隙

同步数据帧发送时隙 Tm 计算如下:T, 是同步帧的传输时间,T
是帧之间的间隔:

Tyme=Tu,+Tgap

b) 周期数据通信时隙

周期数据通信时隙 T。按如下计算:N 是连接从站的数量,T 。(n) 是 从C1
主站到 n 从站的传输

时 间 ,Tay(n) 是 C1 主站和从站 n 之间的帧传输延迟时间,Tp
是帧之间的间隔。

style="width:0.12665in" />style="width:7.84668in;height:0.5401in" />

style="width:6.50007in;height:0.6402in" />

c) 重传时隙

重传时隙 Try 计算方法如下:N, 是重传输的数量,T (r) 从 C1 主站到从站 r
的传输时间指令,

GB/T 18473—2016

Tay(r) 是 在C1 主站和从站r 之间帧传输延迟时间,T 是帧之间的间隔:

style="width:7.92in;height:0.58674in" />

style="width:6.52666in;height:0.59334in" />

d) C1 消息通信时隙

C1 消息通信时隙 Tcim 计算方法如下:Tee(m₁)

是从站的序号或者变成从站的C2 主站),Tcr(m;)

与从站之间的传输延迟,Ncimyg是 C1 消息的数量,T

是请求传输时间从主站(C1 主站)到从站 m₁(m₁

是从从站到主站的响应传输时间,Tay(m₁) 是主站

是帧间隔。

Tcimg=NcimsgX{Trce(m₁)+Tay(mi)+Tgp+Trcr(m₁)+Tay(m₁)+Tgap}

=NcmgX{Tuce(mi)+Tud:(m₁)+2×Tay(m₁)+2×Tgp}

e) C2 消息通信时隙

C2 消息通信时隙 Tc₂mg计算方法如下:Tcle(m₂)

是从站的序号或者变成从站的 C1 主站),Tar(m₂)

与从站之间的传输延迟,Ncmg 是 C2 消息的数量,T

是请求传输时间从主站(C2 主站)到从站m₂(m2

是从从站到主站的响应传输时间,Tay(m₂) 是主站

是帧间隔。

Tcmg=Nc2mg×{Tc2e(m2)+Tdy(m₂)+Tp+Tc₂,(m₂)+Tay(m₂)+Tp}

=NcmgX{Tc2e(m2)+Tr2r(m2)+2×Tay(m₂)+2×Tgp}

图 B.9
给出周期传输和数据处理的时序关系。在1号周期中,从站锁存输入然后应答数据发送到
总线上。在2号周期中每个从站的输入数据被传输到 C1 主站。尽管C1
主站接收,但是在这个时候没 有被 C1 主站处理。 C1
主站在#3周期的开始处开始处理它。因此从从站的锁存输入的时序到主站处
理时序的延时是两个传输周期。同样 C1
主站执行的输出数据在3号周期的被传送到所有的从站中,
从站在4号周期中顺序传输。尽管在4号周期被每个从站接收到,但是此时没有被从站处理。所有从
站在5号周期的开始处同时启动执行。因此从主站向从站发出数据到从站处理执行处理数据的时间延

时为2个通信周期。

style="width:8.99994in;height:6.77996in" />

图 B.9 周期传输和数据处理的时序关系

GB/T 18473—2016

C

(资料性附录)

应用层过程数据单元及状态机示例

C.1 应用层过程数据单元示例

C.1.1 概述

图 C.1 为 MECHATROLINK 现场总线支持的应用层过程数据单元(APDU)

将给出常用 MECHATROLINK 应用层过程数据单元(APDU) 示例,见表 C.1。

单元(APDU) 遵 循 GB/T 20540.5—2006 建议的表达方式给出。

结构关系图。本部分

所有应用层过程数据

style="width:11.91989in;height:8.66668in" />Short PDL typo

APDU FUCSen

pdaRody (14 octets)

pnBndy (14 oclcs)

wdt

srul

daims

puuboxly

(1I oclels)

nwit

tcmd

alarm

Srans

(16 bik)

pdubexly

(11uclels)

rwdl

FKM WR-CMD-FINU

MM-R)-?M¹)-

MEM WR-CMD-PDI

pduBodyExt

(15 octcls)

pduBadyExt

(15oclcis)

SYNCType RSP PDU

ASYNCl:p:-RS3P)

c

reserve 2 TMH

roquestDati

44092 cctels)

MSGRSP-PII

fancCnde

00H

respolscDaua

(4..4092 octais)

RSFI

RSP2 PD[

RSF3-PD

RSP2-PDU

RSP3-PDI

NOP RSF2 FDL

NOP-RSP3-PDUJ

Denived fmm

RSP1-PDL

RSP2-PDL

MEMLWR RSP POI

emd

pduBody

(14 octers)

wdr

snbcind

subcrul-PDU.

jdnBody

(14 oclels)

Enhaneed PDU bpe? cmd

wd

cou c

118 bits)

crud

Erm

Suauus

(16 bits) pdnBody (11 oclcls)

wil

su:md

subStaluis

(16 bits)

snbumd-PDU. puuboly

(13 ocleis)

πtnd

wu

cou stal

(16 Fis)

pduBudy

(4,12,28,44,60

orcrs)

pduBody

4.12,28,44,60

actcrs)

C.1 应用层过程数据单元(APDU) 结构关系图

GB/T 18473—2016

CMD-PDU

SYNCType-CMD-PDU

ASYNCType-CMD-PDU

UCMD-PDU

NOP-CMD-PDU

PRM RD-CMD-PDU

PRM WR-CMD-PDU

_

ID RD-CMD-PDU

_

CONFIG-CMD-PDU

ALM RD-CMD-PDU

_ _

ALM CLR-CMD-PDU

_

SYNC SET-CMD-PDU

_ _

CONNECT-CMD-PDU

DISCONNECT-CMD-PDU

PPRM RD-CMD-PDU

PPRM WR-CMD-PDU

_ _

C.1 应用层过程数据单元(APDU)

::= SYNCType-CMD-PDU

I ASYNCType-CMD-PDU

::= UCMD-PDU

_

::= UCMD-PDU

_

NOP-CMD-PDU

_

PRM RD-CMD-PDU

_ _

PRM WR-CMD-PDU

_ _

ID RD-CMD-PDU

_

CONFIG-CMD-PDU

_

ALM RD-CMD-PDU

_ _

I ALM CLR-CMD-PDU

_ _

I SYNC SET-CMD-PDU

_ _

I CONNECT-CMD-PDU

_

DISCONNECT-CMD-PDU

PPRM RD-CMD-PDU

_ _

PPRM WR-CMD-PDU

I MEM RD-CMD-PDU

_ _

I MEM WR-CMD-PDU

_ _

::= CMD1-PDUI CMD2-PDUI CMD3-PDU

_ _ _

::= NOP-CMD1-PDUI NOP-CMD2-PDU I NOP-CMD3-PDU

_ _ _

::=

PRM RD-CMD1-PDU

_ _

PRM-RD-CMD2-PDU

_

PRM RD-CMD3-PDU

_ _

::= PRM WR-CMD1-PDU PRM WR-CMD2-PDU

_ _

_ _

PRM WR-CMD3-PDU

_ _

::= ID RD-CMD1-PDU ID RD-CMD2-PDU

_

_ _

ID RD-CMD3-PDU

_ _

::= CONFIG-CMD1-PDU CONFIG CMD2 PDU

_

CONFIG-CMD3-PDU

::= ALM RD-CMD1-PDU ALM RD CMD2 PDU

_ _

ALM RD-CMD3-PDU

::= ALM CLR-CMD1-PDU ALM CLR CMD2 PDU

_ _

ALM CLR-CMD3-PDU

::= SYNC SET-CMD1-PDU

_ _

I SYNC SET-CMD2-PDU

_ _

I SYNC SET-CMD3-PDU

_ _

::= CONNECT-CMD1-PDU

_

I CONNECT-CMD2-PDU

I CONNECT-CMD3-PDU

_

::= DISCONNECT-CMD1-PDU

_

DISCONNECT-CMD2-PDU

I DISCONNECT-CMD3-PDU

::= PPRM RD-CMD1-PDU \| PPRM-RD-CMD2-PDU

_ _ _

PPRM RD-CMD3-PDU

::= PPRM WR CMD1 PDU PPRM WR-CMD2-PDU

_ _

_ _

MEM RD-CMD-PDU

_ _

MEM WR-CMD-PDU

_ _

GB/T 18473—2016

PPRM WR-CMD3-PDU

_ _

::= MEM RD-CMD3-PDU

_ _

::= MEM WR-CMD3-PDU

_ _

C.1.2 NOP 命令和响应 APDU

空操作时使用的 APDU。 从站执行空操作时,需要使用 NOP-RSP1-PDU
来响应显示从站最新警

报及状态。

NOP-CMD1-PDU ::= CMD1-PDU(WITH COMPONENTS{..,cmd (nop)})

NOP-RSP1-PDU

::= RSP1-PDU( WITH COMPONENTS {..,rcmd(nop)})

C.1.3 PRM RD 命令和响应 APDU

在执行参数读取命令操作时使用的 APDU。

PRM RD-CMD1-PDU

PRM RD-CMD1Body

PRM RD-RSP1-PDU

PRM RD-RSP1Body

::= CMD1-PDU( WITH COMPONENTS

{.,cmd (prm rd),

pduBody(cmdBody PRM RD-CMD1Body)})

::= SEQUENCE{ reservel OCTET STRING SIZE(3),

pNo Unsigned16,

pSize Unsigned8,

reserve2 OCTET STRING SIZE(8)}

::= RSP1-PDU( WITH COMPONENTS

{.,rcmd(prm rd),

pduBody(rspBody PRM RD-RSP1Body)})

::= SEQUENCE{pNo Unsigned16,

pSize Unsigned8,

parameter OCTET STRING SIZE(8)}

pNo

此字包含读出的参数号。

值范围从0~65535。

pSize

此字包含一个8位字节大小的参数。

值范围从0~255。

parameter

此字包含的数据长度由pSize给出,数据结构和含义由pNo 给出。

C.1.4 PRM WR 命令和响应 APDU

执行参数写操作时使用的 APDU。

PRM WR-CMD1-PDU ::= CMD1-PDU(WITH COMPONENTS

{.,cmd(prm wr),

pduBody(cmdBody PRM WR-CMD1Body)})

GB/T 18473—2016

PRM WR-CMD1Body

PRM WR-RSP1-PDU

PRM WR-RSP1Body

::= SEQUENCE { reserve OCTET STRING SIZE(3),

pNo Unsigned16,

pSize Unsigned8,

parameter OCTET STRING SIZE(8)}

::= RSP1-PDU(WITH COMPONENTS

{.,rcmd(prm wr),

pduBody(rspBody PRM WR-RSP1Body)})

::= SEQUENCE { pNo Unsigned16,

pSize Unsigned8,

parameter OCTET STRING SIZE(8)}

pNo

此字包含读出的参数号。

值范围从0~65535。

pSize

此字包含一个8位字节大小的参数。

值范围从0~255。

parameter

此字包含的数据长度由pSize给出,数据结构和含义由 pNo 给出。

pNo-parameter

此字将包含相应 pNo
写入数据。数据的大小,数据的结构和它的意思可以取决于pNo。

C.1.5 ID RD 命令和响应 APDU

设备ID 读取操作过程中使用的 APDU。

ID RD-CMD1-PDU

ID RD-CMD1Body

ID RD-RSP1-PDU

ID RD-RSP1Body

::= CMD1-PDU(WITH COMPONENTS

{..,cmd (id rd),

pduBody(cmdBody ID RD-CMDBody)})

::= SEQUENCE { reservel OCTET STRING SIZE(3),

idCode Unsigned8,

idOffset Unsigned8,

idSize Unsigned8,

reserve2 OCTET STRING SIZE(8)}

::= RSP1-PDU(WITH COMPONENTS

{..,rcmd(id rd),

pduBody(rspBody ID RD-RSPBody)})

::= SEQUENCE { idCode Unsigned8,

idOffset Unsigned8,

idSize Unsigned8,

idData OCTET STRING SIZE(8)}

idCode

此字包含读出的设备 ID 编码。

值范围从0~255。

——'00'H: 设备模型;

GB/T 18473—2016

— '01'H 到'FF'H: 预留。

idOffset

此字包含了设备 ID 读出的偏移地址。

值范围从0~255。

idSize

此字包含读出设备ID 的字节长度。

值范围从0~255。

idData

此字包含所读出的相应idCode 的数据。数据长度由 idSize给出,结构和含义由
idCode 定义。

C.1.6 CONFIG 命令和响应 APDU

配置设备操作时使用的 APDU。

CONFIG-CMD1-PDU

_

CONFIG-CMD1Body

CONFIG-RSP1-PDU

config mode

此字应包含设备配置模式。

::= CMD1-PDU(WITH COMPONENTS

{..,cmd(config),

pduBody(cmdBody CONFIG-CMD1Body)})

::= SEQUENCE { reservel OCTET STRING SIZE(3),

config mode Unsigned8 { pActive (0),

reserve2 OCTET STRING SIZE(10)}

::= RSP1-PDU(WITH COMPONENTS {..,rcmd(config)

})

——pActive('00'H): 重新计算参数并设立;

——'01'H to'FF'H:预留。

C.1.7 ALM RD 命令与响应 APDU

读取报警操作使用的 APDU。

ALM RD-CMD1-PDU

::= CMD1-PDU(WITH

{..,cmd(alm rd),

COMPONENTS

pduBody(cmdBody ALM RD-CMD1Body)})

ALM RD-CMD1Body ::= SEQUENCE{ reservel OCTET STRING SIZE(3),

alm rd mode Unsigned8 { currentAlm (0)},

reserve2 OCTET STRING SIZE(10)}

ALM RD-RSP1-PDU

_

::= RSP1-PDU(WITH

{..,rcmd(alm rd),

COMPONENTS

pduBody(rspBody ALM RD-RSP1Body)})

ALM RD-RSP1Body ::= SEQUENCE {alm data Unsigned8 { currentAlm (0)},

alm data OCTET STRING SIZE(10)}

alm rd mode

_ _

此字包含报警读取模式。

——currentAlm('00'H): 读出当前的报警/警告状态;

——01'H to 'FF'H:预留。

alm data

_

此字应包含读出报警状态。

GB/T 18473—2016

C.1.8 ALM CLR 命令和响应 APDU

执行报警清除操作时使用的 APDU。

ALM CLR-CMD1-PDU

_

ALM CLR-CMD1Body

ALM CLR-RSP1-PDU

_ _

ALM CLR-RSP1Body

::= CMD1-PDU(WITH COMPONENTS

{..,cmd(alm clr),

pduBody(cmdBody ALM CLR-CMDBody)})

::= SEQUENCE{ reservel OCTET STRING SIZE(3),

alm clr mode Unsigned8 { cAlmClear(0)},

reserve2 OCTET STRING SIZE( 10)

::= RSP1-PDU(WITH COMPONENTS

{.,rcmd(alm clr),

pduBody(rspBody ALM CLR-RSP1Body)})

::=SEQUENCE {alm clr mode Unsigned8 { cAlmClear(0)}, reserve OCTET
STRING SIZE(10)}

alm clr mode

_ _

此字包含报警清除模式。

——cAlmClear('00'H): 清除当前报警和警告状态;

——01'H to 'FF'H:预留。

C.1.9 SYNC SET APDU

MECHATROLINK 现场总线在执行通信状态切换过程中使用的 APDU。

SYNC SET-CMD1-PDU ::= CMD1-PDU(WITH COMPONENTS {..,cmd(sync set)})

SYNC SET-RSP1-PDU ::= RSPl-PDU (WITH COMPONENTS {..,rcmd(sync set)})

C.1.10 CONNECT 命令与响应 APDU

MECHATROLINK 现场总线在启动同步通信中使用的 APDU。

CONNECT-CMD1-PDU

CONNECT-CMD1Body

CONNECT-RSP1-PDU

_

::= CMD1-PDU(WITH COMPONENTS

{...,cmd(connect),

pduBody(cmdBody CONNECT-CMD1Body)})

::= SEQUENCE { reservel OCTET STRING SIZE(3),

ver Unsigned8,

com mod SEQUENCE {

reservel BIT STRING SIZE(1),

syncmode BIT STRING SIZE(1),

dtmode BIT STRING SIZE(2),

reserve2 BIT STRING SIZE(3),

subcmd BIT STRING SIZE (1)},

com time Unsigend8,

reserve2 OCTET STRING SIZE(8)}

::= RSP1-PDU(WITH COMPONENTS

{.,rcmd(connect),

pduBody(rspBody CONNECT-RSP1Body)})

GB/T 18473—2016

CONNECT-RSP1Body

::= SEQUENCE{ ver Unsigned8,

com mod SEQUENCE {

reservel BIT STRING SIZE(1),

syncmode BIT STRING SIZE(1),

dtmode BIT STRING SIZE(2),

reserve2 BIT STRING SIZE(3),

subcmd BIT STRING SIZE(1)},

com time Unsigend8,

reserve OCTET STRING SIZE(10)}

com mod

_

该字段包含以下子字段定义。

syncmode

此位字段应指示通信模式:

0: 异步通信状态;

1: 同步通信状态。

dtmode

此位字段指示传输模式。

'00'H:单向传输模式;

'01'H: 双向传输模式;

02'H to'03'H:预留

subcmd

此位字段指示是否使用子命令:

0:子命令字段非使能;

1:子命令字段使能。

com time

此字段应包含通信周期时间,这个时间是以传输周期时间倍数的形式。

值范围从0~255。

C.1.11 DISCONNECT APDU

主站和从站释放同步连接过程中使用的 APDU。

DISCONNECT-CMD1-PDU

DISCONNECT-RSP1-PDU

::= CMD1-PDU(WITH connect)})

::= RSP1-PDU(WITH (disconnect)})

COMPONENTS

COMPONENTS

{...,cmd(dis-

{.... rcmd

C.1.12 PPRM RD APDU

PROM 参数读取操作过程中使用的 APDU。

PPRM RD-CMD1-PDU ::= CMD1-PDU(WITH COMPONENTS

{.,cmd(pprm rd),

pduBody(cmdBody PPRM RD-CMD1Body)})

PPRM RD CMD1Body ::= SEQUENCE{ reservel OCTET STRING SIZE(3),

pNo Unsigned16,

pSize Unsigned8,

reserve2 OCTET STRING SIZE(8)}

GB/T 18473—2016

PPRM RD-RSP1-PDU

PPRM RD-RSP1Body

::= RSP1-PDU(WITH COMPONENTS

{..,rcmd (pprm rd),

pduBody(rspBody PPRM RD-RSP1Body)})

::= SEQUENCE{ pNo Unsigned16,

pSize Unsigned8,

parameter OCTET STRING SIZE(8)}

pNo

此字包含读出的参数号。

值范围从0~65535。

pSize

此字包含一个8位字节大小的参数。

值范围从0~255。

parameter

此字包含的数据长度由 pSize给出,数据结构和含义由 pNo 给出。

C.1.13 PPRM WR 命令与响应 APDU

PROM 参数写操作过程中使用的 APDU。

PPRM WR-CMD1-PDU ::= CMD1-PDU(WITH COMPONENTS

{..,cmd(pprm wr),

pduBody(cmdBody PPRM WR-CMD1Body)})

PPRM WR CMD1Body ::= SEQUENCE { reserve OCTET STRING SIZE(3),

pNo Unsigned16,

pSize Unsigned8,

parameter OCTET STRING SIZE(8)}

PPRM WR-RSP1-PDU ::= RSP1-PDU(WITH COMPONENTS

{.,rcmd(pprm wr),

pduBody(rspBody PPRM WR-RSP1Body)})

PPRM WR-RSP1Body ::= SEQUENCE{ pNo Unsigned16,

pSize Unsigned8,

parameter OCTET STRING SIZE(8)}

pNo

此字包含读出的参数号。

值范围从0~65535。

pSize

此字包含一个8位字节大小的参数。

值范围从0~255。

parameter

此字包含的数据长度由 pSize给出,数据结构和含义由 pNo 给出。

C.2 应用层通信控制状态机示例

应用层通信控制状态机如图C.2 所示,应用层通信控制状态机条件列表见表
C.2,应用层通信控制

状态机状态列表见表 C.3。

注:以 MECHATROLINK 实时串行通信协议为例。

GB/T 18473—2016

style="width:5.92675in;height:10.92014in" />(E1/I1)

any

state

S0

Cleared

E3/T2

E7-F11

E14,E15 oJ E16

/T3

S1

Creating

E17/T4

S2

Created

E5/T6

E4/T5

S3

Activating

E7-E16

/T7

E18/T8

S4

Active

E2/T9,

E4/T10

C.2 应用层通信控制状态机(示例)

C.2 应用层通信控制状态机条件列表

E#

触发事件:

基元或者条件

事件源

关联参数

E1

FSM-Reset,req

FAL user

E2

FSM-GetStatus.req

FAL user

INFO-ID

E3

FSM-SetContext.req

FAL user

CONTEXT-DATA

E4

FSM-GetContext.req

FAL user

E5

FSM-Start.req

FAL user

E6

<s)-Open.cnf

<s>ASE

ServiceStatus

E7

DLM-SET-VALUE.cnf

DLM

Result

E8

DLM-GET-VALUE.cnf

DLM

Result,Val

GB/T 18473—2016

C.2 ( 续 )

E#

触发事件:

基元或者条件

事件源

关联参数

E9

DLM-DELAY.ind

DLM

Delay Time

E10

DLM-DELAY.cnf

DLM

Delay Time

E11

DLM-SET-COMMODE.cnf

DLM

Result

E12

DLM-START.ind

DLM

Com Mode,Cycle time,C2

stime,Max Delay,TM unit

E13

DLM-START.cnf

DLM

Result

E14

DLM CLR-ERR.cnf

DLM

Result

E15

Ph-SET-VALUE.cnf

PhL

E16

Ph-GET-VALUE.cnf

PhL

Value

E17

APC-Created

APCSM

(S1 state)

E18

APC-Activated

APCSM

(S3 state)

C.3 应用层通信控制状态机状态列表

T#

源状态

事件(arguments)[条件]/动作

目标状态

T1

(any state)

E1.FSM-Reset.req

/Ph-RESET.req;

DLM RESET,req;

EVM-Reset.req;

for all AR ASE objects{AR-Reset.req;};

for all FDC ASE objects {FDC-Reset.req);

for all MSG ASE objects {MSG-Reset.req);

S0:Cleared

T2

S0:Cleared

E3:FSM-SetContext.req(CONTEXT-DATA)

//*- APCSM starts initializing PhL

- with Ph-SET-VALUE.req

-*/;

/*-- APCSM starts initializing DLL

-- with DLM SET PAR.req

- and DLM DELAY.req

-*/;

for all AR ASE objects {AR-Open.req;}; or all FDC ASE objects {FDC-Open.req};

for all MSG ASE objects{ MSG-Open.req);

S1:Creating

GB/T 18473—2016

C.3 ( 续 )

T#

源状态

事件(arguments)[条件]/动作

目标状态

T3

Sl:Creating

E7,E8,E9,E10,E11,E14,E15,or E16

//*-APCSM keeps initializing PhL,DLL,and FAL

--*/;

/x-- If initializing procedures have finished,

-E17:APC-Created is issued.

--*/;

S1:Creating

T4

S1:Creating

E17:APC-Created

/FSM-SetContext.cnf;

S2:Created

T5

S2:Created

E4:FSM-GetContext.req

/FSM-GetContext.cnf;

S2:Created

T6

S2:Created

E5:FSM-Start,req

//*-start activating PhL--*/;

/*-- start activating DLL-*/;

EVM-Enable.req;

for all AR ASE objects { AR-Enable.req;}; for all FDC ASE objects {FDC-Enable.req};

for all MSG ASE objects { MSG-Enable.req);

S3:Activating

T7

S3:Activating

E7,E8,E9,E10,E11,E12,E13,E14,E15,or E16

/*- APCSM keeps activating PhL,DLL,FAL

-*/;

/*-If activating procedures have finished,

E18:APC-Activated is issued

-*/;

S3:Activating

T8

S3:Activating

E18:APC-Activated

/FSM-Start.cnf;

S4:Active

T9

S4:Active

E2:FSM-GetStatus.req(INFO-ID)

//*- APCSM reads appropriate status info for

INFO-ID,

-using Ph-GET VALUE.req,

DL GET STATUS.req,

-DLM GET ERR.req

or other service primitives

-*/;

FSM-GetStatus.cnf;

S4:Active

T10

S4:Active

FSM-GetContext.req

/FSM-GetContext.cnf;

S4:Active

style="width:3.09333in" />GB/T 18473—2016

延伸阅读

更多内容 可以 GB-T 18473-2016 工业机械电气设备 控制与驱动装置间实时串行通信数据链路. 进一步学习

联系我们

DB43-T 2643-2023 南方地表高温遥感监测评估方法 湖南省.pdf